|
|
|
|
|
|
|
In this chapter, you learned Visual Basic's support of class interface inheritance. A Visual Basic class is representative of a logical unit that is abstracted above mere code. A class interface is a contract with a client of that class that must be serviced. Building good interfaces is a fundamental part of reuse. Planning for any form of reuse is very difficult and will initially slow down a project. The distinction between interface and implementation classes is very important in component development. You learned that interfaces are what a component makes available to its clients. Tomorrow, you'll learn the basics of building and testing components. The two kinds of components you'll build are the Active DLL and the Active EXE, both of which are related. |
|
|
|
|
|
|
|
|
Q When are class definitions dynamic? |
|
|
|
|
|
|
|
|
A At runtime, class definitions are most dynamic (for instance, going through iterative refinements). The process itself is dynamic, and the state of the class definition (including its relationships) reflects the results of that process. At runtime, the design time definitions do not change. |
|
|
|
|
|
|
|
|
Q What's included in the signature of a method? |
|
|
|
|
|
|
|
|
A The ordering and data types of arguments in the argument list. |
|
|
|
|
|
|
|
|
Q What can happen if there are drastic changes to a class interface? |
|
|
|
|
|
|
|
|
A Drastic changes to interfaces during construction can lead to extensive code rewrites and communication problems between classes and subsystems. Such architectural changes might trigger the need for a minor domain analysis to justify the new relationship. |
|
|
|
|
|
|
|
|
The workshop includes quiz questions to help gauge your grasp of the material. Even if you feel that you totally understand the concepts presented here, you should work through the quiz anyway. The last section contains an exercise or two that you might work through to help reinforce your learning. You'll find the answers to the quiz in Appendix A, Answers. |
|
|
|
|
|
|
|
|
1. What are helper methods? |
|
|
|
|
|
|
|
|
2. What is the best way to manage your runtime object creatures? |
|
|
|
|
|